草庐IT

dictionary - 将 map[string]string 转换为 map[someStruct]string

全部标签

Golang 类型断言/转换为中间结构

给定以下类型:typeEventinterface{}typeActionResultEventstruct{Resultstring}typeActionSuccessEventActionResultEventtypeActionFailureEventActionResultEventtypeeventHandleFuncfunc(eEvent)我的目标是为具体类型ActionSuccessEvent、ActionFailureEvent以及更多抽象ActionResultEvent。我想将后者用于ActionSuccessEvent和ActionFailureEvent。现在我

go - fatal error : concurrent map read and map write

fatalerror:concurrentmapreadandmapwritegoroutine5065809[running]:runtime.throw(0x6b4281,0x21)/usr/local/go/src/runtime/panic.go:566+0x95fp=0xc420c05670sp=0xc420c05650runtime.mapaccess1_faststr(0x65ea20,0xc420015020,0xc42178ea8e,0x16,0x0)/usr/local/go/src/runtime/hashmap_fast.go:201+0x4f3fp=0xc42

go - slice of slice 中的接口(interface)转换

我写了这个示例代码(https://play.golang.org/p/u_oz5X4aU07):funcmain(){varobjinterface{}json.Unmarshal([]byte("[[1,2],[3,4]]"),&obj)val:=obj.([][]int)fmt.Println(val)}为什么会出现错误:interfaceconversion:interface{}is[]interface{},not[][]int有没有一种简单的方法可以将obj转换成一片slice?此代码有效,但我想要更紧凑和高效的代码。varval[][]float64forr,v:=ra

go - 尝试将 yaml 数据转换为结构时输出为空

这个问题在这里已经有了答案:GoUnmarshalingYAMLintostruct(2个答案)关闭4年前。我正在尝试将yaml数据转换为结构并打印它。我得到的这个程序的输出是空的。packagemainimport("fmt""gopkg.in/yaml.v2")typeexamplestruct{variable1stringvariable2string}funcmain(){varaexampleyaml.Unmarshal([]byte("variable1:asd\nvariable2:sdcs"),&a)fmt.Println(a.variable1)}

json - 为什么 golang json number 不能像 "10"那样转换 int 或 string int?

我想把接口(interface)值转换成数字,但是当接口(interface)是数字或者数字字符串时,就不行了,不知道为什么不能这样转换?packagemainimport("encoding/json""fmt""reflect")funcmain(){number:=10strNumber:="10"test(number)test(strNumber)}functest(iinterface{}){strNum,ok:=i.(json.Number)fmt.Println(strNum,ok,reflect.TypeOf(i))}它会产生这样的结果:falseintfalsest

string - 从 String 到 map[string]interface{} golang

我想把这个字符串变成map[string]interface{}:result="map[Value1:TestWSValue2:00060636Value3:TestWSValue4:PIPPOValue5:TestWS]"通过JSON打印相同的字符串"result=\"map[COD_DIPENDENTE:00060636MATRICOLA:TestWSCOGNOME:CAPPONINOMEmy:TestWSCOGNOMEmy:TestWS]\"\n"我知道这是一个特定的字符串。实际上它是从一个map[string]interface{}派生出来的,但是经过了加密和解密,结果是这样

go - 如何将项目附加到范围内的 map ?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭4年前。Improvethisquestion例子:packagemainimport("encoding/json""fmt""github.com/imdario/mergo")funcmain(){varDATA[]map[string]interface{}text:=[]byte(`[{"id":1,"test":1},{"id":2},{"id":3,"test":3},{"test":8}]`)err:=json.Unmarsh

sql - 无法将日期时间纪元转换为仅日期纪元格式

我正在尝试从一个DB(db1)获取日期格式的日期(“jobDate”),然后插入到另一个DB(db2),其中Date(“resolvedDate”)为纪元格式。现在我将日期从db1传递到db2的选择查询。为了匹配它们的数据类型,我将time.Time转换为纪元格式并传递给db2。我不需要时间戳,只需要YYYY-MM-DD格式。但这里的问题是,来自db2的纪元日期包含日期和时间。结果,当我将jobDate传递给select查询时,它无法匹配resolvedDate中的任何条目。我的代码如下:dsn:="server=********.md3q.***.com;userid=*******

go - 如何将结构转换为基本类型,而不是 Go 中的直接类型?

我需要将未知立即类型的接口(interface)转换为已知的基本类型。例子packagemainimport("fmt""reflect")typeAstruct{foostring}typeBAfuncmain(){bS:=B{foo:"foo"}bI:=reflect.ValueOf(bS).Interface()fmt.Println(bI)aS:=bI.(A)fmt.Println(aS)}当这段代码运行时,可以理解的是,它会出现panic并显示以下消息panic:interfaceconversion:interface{}ismain.B,notmain.A在这个例子中:类

json - 即使存在值,Go map 也会返回 nil 值

假设下面的answers是从JSON字符串解码的map[string]interface{}。ifbaths,ok:=answers["bathrooms"];ok{bathsFloat:=baths.(float64)}不知何故,我对接口(interface)转换感到panic:interface{}是nil,不是float64。当存在检查为真时,这怎么可能? 最佳答案 ok仅告诉键是否在映射中,与其相关联的值是否为nil(或通常他值类型的零值)或或不是另一回事。看这个例子:answers:=map[string]interfac